home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Especial Multimedia
/
Especial Multimedia.iso
/
Multimed
/
Prg
/
BMP2PIC.ZIP
/
BMP2PIC.FRM
< prev
next >
Wrap
Text File
|
1997-09-14
|
8KB
|
260 lines
VERSION 2.00
Begin Form Bmp2Pic
BackColor = &H00808000&
Caption = "Simulated Keyboard (only 1 key)"
ClientHeight = 3420
ClientLeft = 4125
ClientTop = 3420
ClientWidth = 4395
Height = 3825
Icon = BMP2PIC.FRX:0000
Left = 4065
ScaleHeight = 228
ScaleMode = 3 'Pixel
ScaleWidth = 293
Top = 3075
Width = 4515
Begin TextBox txtOUTPUT
FontBold = 0 'False
FontItalic = 0 'False
FontName = "élér âSâVâbâN"
FontSize = 12
FontStrikethru = 0 'False
FontUnderline = 0 'False
Height = 435
Left = 60
TabIndex = 0
Top = 60
Width = 4275
End
Begin PictureBox picKEYBOARD
BorderStyle = 0 'None
Height = 2895
Left = 60
Picture = BMP2PIC.FRX:0302
ScaleHeight = 193
ScaleMode = 3 'Pixel
ScaleWidth = 285
TabIndex = 1
Top = 480
Width = 4275
Begin PictureBox picDEST
BackColor = &H00FFFF00&
BorderStyle = 0 'None
Height = 255
Left = 3840
Picture = BMP2PIC.FRX:700C
ScaleHeight = 17
ScaleMode = 3 'Pixel
ScaleWidth = 17
TabIndex = 2
Top = 1200
Visible = 0 'False
Width = 255
End
Begin SSRibbon grpKEY
AutoSize = 0 'None
BevelWidth = 1
Height = 315
Left = 3780
PictureDnChange = 0 'Use 'PictureUp' Bitmap Unchanged
Top = 1740
Width = 315
End
Begin Image imgSTOPFOCUS
Height = 15
Left = 3900
Top = 960
Width = 15
End
End
End
Option Explicit
Dim KeyVal$(8, 13) ' Array to hold key values
Dim RowPos%, ColPos% ' Col/Row positions to extract array elements data
' Written by: Ron Edwards
' PRISM Corp. Please don't hesitate to point out bugs or make
' Hiroshima, Japan other suggestions/comments. Samples of your unique
' CIS: 71125,534 solutions to programming challenges are appreciated.
Sub CheckKeyPosition (X, Y)
Dim keycols%, keywdht%, hoffset%, voffset%, keyleft%, keytop%, gap%
keywdht% = ctlREALKEY.Width
keycols% = 13: hoffset% = 12: voffset% = 12
Select Case X
Case hoffset% To keywdht% * keycols - 2 ' Valid column range
ColPos% = Int((X - hoffset%) / (keywdht% - 1))
Select Case Y ' Subtract 1 from the ending range number
Case 12 To 31 ' Keep the top row out of the Case Else
Case 36 To 135: gap% = 4 ' Between numeric/kana keys
Case 140 To 179: gap% = 8 ' Between kana/alphabetic keys
Case Else: GoTo StopFocus
End Select
RowPos% = Int((Y - voffset% - gap%) / (keywdht% - 1))
keyleft% = ColPos% * (keywdht% - 1) + hoffset%
keytop% = RowPos% * (keywdht% - 1) + voffset% + gap%
Select Case CStr(RowPos%) & CStr(ColPos%) ' Don't move the key over empty areas
Case "27", "47", "212", "312", "412": GoTo StopFocus
End Select
Call CopyBmp2Pic(keyleft%, keytop%) ' Copy the picture area at the new position to the button control's .PictureUp property
ctlREALKEY.Move keyleft%, keytop%
Case Else: GoTo StopFocus
End Select
Exit Sub
' Put's the image control under the mouse pointer so the focus isn't taken
' away from the text control if the mouse is clicked on a part of the picture.
StopFocus: imgSTOPFOCUS.Move X, Y
End Sub
Sub Form_Load ()
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
Set ctlSOURCE = picKEYBOARD
Set ctlDEST = picDEST
Set ctlREALKEY = grpKEY
KeyVal(0, 0) = "1"
KeyVal(1, 0) = "a"
KeyVal(2, 0) = "i"
KeyVal(3, 0) = "u"
KeyVal(4, 0) = "e"
KeyVal(5, 0) = "o"
KeyVal(6, 0) = "A"
KeyVal(7, 0) = "N"
KeyVal(0, 1) = "2"
KeyVal(1, 1) = "ka"
KeyVal(2, 1) = "ki"
KeyVal(3, 1) = "ku"
KeyVal(4, 1) = "ke"
KeyVal(5, 1) = "ko"
KeyVal(6, 1) = "B"
KeyVal(7, 1) = "O"
KeyVal(0, 2) = "3"
KeyVal(1, 2) = "sa"
KeyVal(2, 2) = "shi"
KeyVal(3, 2) = "su"
KeyVal(4, 2) = "se"
KeyVal(5, 2) = "so"
KeyVal(6, 2) = "C"
KeyVal(7, 2) = "P"
KeyVal(0, 3) = "4"
KeyVal(1, 3) = "ta"
KeyVal(2, 3) = "chi"
KeyVal(3, 3) = "tsu"
KeyVal(4, 3) = "te"
KeyVal(5, 3) = "to"
KeyVal(6, 3) = "D"
KeyVal(7, 3) = "Q"
KeyVal(0, 4) = "5"
KeyVal(1, 4) = "na"
KeyVal(2, 4) = "ni"
KeyVal(3, 4) = "nu"
KeyVal(4, 4) = "ne"
KeyVal(5, 4) = "no"
KeyVal(6, 4) = "E"
KeyVal(7, 4) = "R"
KeyVal(0, 5) = "6"
KeyVal(1, 5) = "ha"
KeyVal(2, 5) = "hi"
KeyVal(3, 5) = "fu"
KeyVal(4, 5) = "he"
KeyVal(5, 5) = "ho"
KeyVal(6, 5) = "F"
KeyVal(7, 5) = "S"
KeyVal(0, 6) = "7"
KeyVal(1, 6) = "ma"
KeyVal(2, 6) = "mi"
KeyVal(3, 6) = "mu"
KeyVal(4, 6) = "me"
KeyVal(5, 6) = "mo"
KeyVal(6, 6) = "G"
KeyVal(7, 6) = "T"
KeyVal(0, 7) = "8"
KeyVal(1, 7) = "ya"
KeyVal(2, 7) = ""
KeyVal(3, 7) = "yu"
KeyVal(4, 7) = ""
KeyVal(5, 7) = "yo"
KeyVal(6, 7) = "H"
KeyVal(7, 7) = "U"
KeyVal(0, 8) = "9"
KeyVal(1, 8) = "ra"
KeyVal(2, 8) = "ri"
KeyVal(3, 8) = "ru"
KeyVal(4, 8) = "re"
KeyVal(5, 8) = "ro"
KeyVal(6, 8) = "I"
KeyVal(7, 8) = "V"
KeyVal(0, 9) = "0"
KeyVal(1, 9) = "wa"
KeyVal(2, 9) = "n"
KeyVal(3, 9) = "wo"
KeyVal(4, 9) = "#"
KeyVal(5, 9) = "@"
KeyVal(6, 9) = "J"
KeyVal(7, 9) = "W"
KeyVal(0, 10) = "."
KeyVal(1, 10) = "xa"
KeyVal(2, 10) = "xi"
KeyVal(3, 10) = "xu"
KeyVal(4, 10) = "xe"
KeyVal(5, 10) = "xo"
KeyVal(6, 10) = "K"
KeyVal(7, 10) = "X"
KeyVal(0, 11) = "-"
KeyVal(1, 11) = "xya"
KeyVal(2, 11) = "xyu"
KeyVal(3, 11) = "xyo"
KeyVal(4, 11) = "xtsu"
KeyVal(5, 11) = "--"
KeyVal(6, 11) = "L"
KeyVal(7, 11) = "Y"
KeyVal(0, 12) = "/"
KeyVal(1, 12) = "{BS}" ' Backspace key
KeyVal(2, 12) = ""
KeyVal(3, 12) = ""
KeyVal(4, 12) = ""
KeyVal(5, 12) = " " ' Space key
KeyVal(6, 12) = "M"
KeyVal(7, 12) = "Z"
End Sub
Sub grpKEY_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
If grpKEY.Value Then grpKEY.Value = False Else Exit Sub ' Unpress the key
' Process simulated click event here
If RowPos% = 1 And ColPos% = 12 Then SendKeys KeyVal(RowPos%, ColPos%): Exit Sub ' Backspace key
' SendKeys doesn't work properly with Japanese characters so use .SelText for rest
If TypeOf ActiveControl Is TextBox Then ActiveControl.SelText = KeyVal(RowPos%, ColPos%)
End Sub
Sub picKEYBOARD_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
Call CheckKeyPosition(X, Y)
End Sub